package at.technikum_wien.embsys.aat.PriscillaCore.component;

import at.technikum_wien.embsys.aat.PriscillaCore.enums.EnoceanComponentType;

/**
 * Interface for an Enocean device.
 * It contains basic functions, which are necessary for
 * each component.
 * 
 * @author B. Aigner
 */
public interface EnoceanComponent {
	
	/**
	 * This function returns the component type, as enumerated in EnoceanComponentType
	 * @return The component type
	 */
	public EnoceanComponentType getType();
	/**
	 * Read out the device ID
	 * 
	 * @return The components device ID
	 */
	public String getDeviceID();
	/**
	 * Set a new device ID
	 * 
	 * @param deviceID Device ID for the component
	 */
	public void setDeviceID(String deviceID);
	/**
	 * Return the component's ORG byte
	 * @return ORG byte
	 */
	public String getORG();
}
